import instanceAxios from './axiosself'
import {
  ElMessage
} from 'element-plus'

const doPost = async (address, params) => {

  try {
    const res = await instanceAxios.post(address, params, {
      headers: {
        "Content-Type": "application/json"
      }
    });

    if (res.data.code == 1) {
      
      return res.data.data; // 当 code 为 1 时返回数据
    } else {
      ElMessage({
        message: res.data.msg,
        type: 'warning',
      });
      return null; // 或者根据需求返回其他内容
    }
  } catch (error) {
    // 处理请求中的错误
    console.error("There was an error!", error);
    ElMessage({
      message: "请求失败",
      type: 'error',
    });
    return null; // 或者根据需求返回其他内容
  }
}

const doPut = async (address, params) => {
  try {
    // 使用 put 方法替换 post 方法，如果确实是需要发送 PUT 请求的话
    const res = await instanceAxios.put(address, params, {
      headers: {
        "Content-Type": "application/json"
      }
    });

    if (res.data.code == 1) {
      
      return res.data.data; // 当 code 为 1 时返回数据
    } else {
      ElMessage({
        message: res.data.msg,
        type: 'warning',
      });
      return null; // 或者根据需求返回其他内容
    }
  } catch (error) {
    // 处理请求中的错误
    console.error("There was an error!", error);
    ElMessage({
      message: "请求失败！",
      type: 'error',
    });
    return null; // 或者根据需求返回其他内容
  }
}

const doGet = async (address, props) => {
  try {
    const res = await instanceAxios.get(address, {
      params: props,
      headers: {
        "Content-Type": "application/json"
      }
    });

    if (res.data.code == 1) {
     
      return res.data.data; // 当 code 为 1 时返回数据
    } else {
      ElMessage({
        message: res.data.msg,
        type: 'warning',
      });
      return null; // 或者根据需求返回其他内容
    }
  } catch (error) {
    // 处理请求中的错误
    console.error("There was an error!", error);
    ElMessage({
      message: "请求失败！",
      type: 'error',
    });
    return null; // 或者根据需求返回其他内容
  }
}


const doDel = async (address) => {
  try {
    const res = await instanceAxios.delete(address);

    if (res.data.code == 1) {
      
      return res.data.data; // 当 code 为 1 时返回数据
    } else {
      ElMessage({
        message: res.data.msg,
        type: 'warning',
      });
      return null; // 或者根据需求返回其他内容
    }
  } catch (error) {
    // 处理请求中的错误
    console.error("There was an error!", error);
    ElMessage({
      message: "请求失败！",
      type: 'error',
    });
    return null; // 或者根据需求返回其他内容
  }
}

export default {
  doPost,
  doPut,
  doGet,
  doDel
}